home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lang_c
/
cuj9205
/
1005074c
< prev
next >
Wrap
Text File
|
1992-06-02
|
579b
|
31 lines
/*
* Listing 3 -- Error by writing a freed pointer
* (another item's value may have changed)
*/
#include <stdlib.h>
#include <assert.h>
void main() {
int *ip1;
int *ip2;
/* allocate an integer */
ip1 = malloc(sizeof(int));
assert(ip1 != NULL);
(*ip1) = 0;
/* deallocate the integer */
free(ip1);
/* allocate a second integer */
ip2 = malloc(sizeof(int));
assert(ip2 != NULL);
(*ip2) = 0;
/* note that ip1 is probably equal to ip2 */
printf("ip1 == 0x%lx, ip2 == 0x%lx\n",ip1,ip2);
(*ip1) = 5;
printf("*ip2 == %d\n",*ip2);
}